var front = false;
document.getElementById('button').onclick = function () {
	front = !front;
};

// var constraints = {
// 	audio: true,
// 	video: {
// 		facingMode: (front ? "user" : "environment")
// 	}
// };
var constraints = { audio: true, video: { facingMode: { exact: "environment" } } };
getCam(constraints);
var exArray = []; //存储设备源ID
alert(100);
// if(navigator.mediaDevices.enumerateDevices){
// 	alert("00");
// 	navigator.mediaDevices.enumerateDevices()
// 	.then(function (devices) {
// 		devices.forEach(function (device) {
// 			if (device.kind == "videoinput") {
// 				exArray.push(device.deviceId);
// 			}
// 		});

// 	})
// 	.catch(function (err) {
// 		alert(err.name + ": " + err.message);
// 	});
// }else if(MediaStreamTrack.getSources){
// 	alert("01");
// 	MediaStreamTrack.getSources(function (sourceInfos) {
//             for (var i = 0; i != sourceInfos.length; ++i) {
//                 var sourceInfo = sourceInfos[i];
//                 //这里会遍历audio,video，所以要加以区分
//                 if (sourceInfo.kind === 'video') {
//                     exArray.push(sourceInfo.id);
//                 }
//             }
//         });

// }else{
// 	alert("02");
// }
/**调起摄像头 */

function getCam(constraints) {
	console.log(constraints);
	// 老的浏览器可能根本没有实现 mediaDevices，所以我们可以先设置一个空的对象
	// if (navigator.mediaDevices === undefined) {
	// 	navigator.mediaDevices = {};
	// }

	// // 一些浏览器部分支持 mediaDevices。我们不能直接给对象设置 getUserMedia 
	// // 因为这样可能会覆盖已有的属性。这里我们只会在没有getUserMedia属性的时候添加它。
	// if (navigator.mediaDevices.getUserMedia === undefined) {
	// 	navigator.mediaDevices.getUserMedia = function (constraints) {

	// 		// 首先，如果有getUserMedia的话，就获得它
	// 		var getUserMedia = navigator.webkitGetUserMedia || navigator.mozGetUserMedia;

	// 		// 一些浏览器根本没实现它 - 那么就返回一个error到promise的reject来保持一个统一的接口
	// 		if (!getUserMedia) {
	// 			return Promise.reject(new Error('getUserMedia is not implemented in this browser'));
	// 		}

	// 		// 否则，为老的navigator.getUserMedia方法包裹一个Promise
	// 		return new Promise(function (resolve, reject) {
	// 			getUserMedia.call(navigator, constraints, resolve, reject);
	// 		});
	// 	}
	// }

	navigator.mediaDevices.getUserMedia({
			audio: true,
			video: true
		})
		.then(function (stream) {
			var video = document.querySelector('video');
			// 旧的浏览器可能没有srcObject
			if ("srcObject" in video) {
				video.srcObject = stream;
			} else {
				// 防止再新的浏览器里使用它，应为它已经不再支持了
				video.src = window.URL.createObjectURL(stream);
			}
			video.onloadedmetadata = function (e) {
				video.play();
			};
		})
		.catch(function (err) {
			alert(err.name + ": " + err.message);
		});
}
